
//preloading.....
load("library/common.js");

JEuler.system.loadJS("library/math.js");

(function() {

    //JEuler.system.loadJS("data/???.dat");
    JEuler.system.printCaption("058");
    JEuler.system.startTimerCount();
    
    JEuler.math.PrimeUtils.sievePrime(100000);
    JEuler.math.PrimeUtils.printCachedPrimes("v");
    var countPrime = JEuler.math.PrimeUtils.getPrimePool().length; // 25;
    
    var i=2, side=1, t=1, count=0, r=1;
    var a0=1, a1,a2,a3;
    do {
        side=side+2;   //side=i*2-1
        t=t+4;         //t=(i-1)*4+1
        a1 = a0 + side - 1;
        a2 = a1 + side - 1;
        a3 = a2 + side - 1;
        a0 = a3 + side - 1;
        if(JEuler.math.PrimeUtils.isPrime(a1)) count++;
        if(JEuler.math.PrimeUtils.isPrime(a2)) count++;
        if(JEuler.math.PrimeUtils.isPrime(a3)) count++;
        r = count/t;
    } while(r>=0.1);

    JEuler.system.print("SIDE=" + side);
    JEuler.system.printTimerCount();
    
})();
